1. Field of the Invention
The present invention relates to a method and a system for controlling a transmission rate of fixed length packets, called cells, which are transferred in an ATM (Asynchronous Transfer Mode) network.
2. Description of the Background Art
In a conventional data transfer utilizing the ATM network, when a user sets up a virtual connection between a source end-node and a destination end-node to carry out the data transfer, the following connection admission control is carried out. Namely, a user requests to a network in advance a desired quality of service (peak cell rate, average cell rate, etc.) for cell transmission, and a network which receives this request permits the connection set up only when the requested quality of service can be provided without adversely affecting the other network users and secures a bandwidth corresponding to the requested quality of service.
Also, at a time of cell transmission after the connection set up, the network monitors whether the cell transmission made by the terminal is in accordance with the quality of service requested at a time of the connection set up request, and when the cell transmission in violation of the requested quality of service is detected, the cells of the detected cell transmission are judged as violation cells, and the network applies a policing control to regulate the violation cells such as UPC/NPC (Usage Parameter Control/Network Parameter Control).
Presently, in the recent ATM Forum, there is a proposition for a new service called ABR (Available Bit Rate) service. In this ABR service, unlike the conventional service described above, a user requests a maximum cell rate (peak cell rate) and a minimum cell rate for the cell transmission at a time of the connection set up, but the cell transmission at the maximum cell rate is not always guaranteed at a time of the cell transmission by the user, although the cell transmission at the minimum cell rate is always guaranteed. In other words, in the ABR service, there is no need for the network to secure the bandwidth in correspondence to the requested connection. In this manner, it is possible for the ABR service to increase a number of simultaneously connected connections compared with the conventional service described above. As a consequence, there arises a possibility for an occurrence of a congestion at a switch in the network. Note that the congestion indicates a state in which it becomes impossible for a switch to provide a desired service as too many cells in excess of a prescribed processing power arrive at the switch. This terminology will be used throughout the following description.
In order to minimize an occurrence of the congestion at a switch in the ATM network, the ATM Forum has proposed a flow control algorithm called EPRCA (Enhanced Proportional Rate Control Algorithm) for realizing the ABR service (see, ATM Forum contribution 94-0735R1). In addition, the ATM Forum has specified source behaviour, destination behavior, and intermediate switch behavior in relation to this algorithm. According to this, the flow control to be made in conjunction with the ABR service operates according to an RM (Resource Management) cell.
FIG. 1 shows an exemplary format for the RM cell, which is in agreement with the format for an RM cell to be used at a time of providing the ABR service as determined by the TM (Traffic Management) working group of the ATM Forum. In this RM cell (53 octets) of FIG. 1, ATM header (5 octets) is a header similar to that of a usual cell, where a PT (Payload Type) field in this header has a value 8 in order to indicate that it is the RM cell. ID (1 octet) is a protocol identifier, which is always set to 0 by the source end-node. DIR (1 bit) is a direction identifier which is set to 0 if it is the RM cell transmitted from the source end-node to the destination end-node, or to 1 if it is the RM cell returned from the destination end-node to the source end-node. CI (1 bit) is a congestion indication, which is normally set to 0 (no congestion), but which is set to 1 when a congestion occurs at a switch unit in the network, CCR (2 octets) is a current cell transmission rate at the source end-node which is set by the source end-node. MCR (2 octets) is a minimum cell transmission rate determined at a time of the connection set up which is also set by the source end-node. ER (2 octets) is a maximum cell transmission rate determined at a time of the connection set up which is also set by the source end-node at a time of transmitting the RM cell, but which is overwritten by a value smaller than an original ER value according to the congestion state in the network when the RM cell is passing through the switch or returned at the destination end-node.
FIG. 2 shows an outline of the ABR service using the RM cell of FIG. 1. A configuration shown in FIG. 2 includes end-nodes 21 and 22 formed by terminals or switches for carrying out cell transmission and reception, a switch unit 23 connected between the end-nodes 21 and 22, and virtual connections 24 and 25 connecting between the end-nodes 21 and 22. Here, the virtual connection 24 is a connection to be used at a time of transferring cells from the end-node 21 to the end-node 22, and the virtual connection 25 is a connection to be used at a time of transferring cells from the end-node 22 to the end-node 21. In the following, regarding the end-node 21 as the source end-node and the end-node 22 as the destination end-node, the outline of the ABR service in a case of carrying out the data transfer from the end-node 21 to the end-node 22 will be described.
The end-node 21 transmits the usual data cells, while also transmitting the RM cell with a current cell transmission rate entered in the CCR (Current Cell Rate) field and the maximum cell transmission rate in the ER (Explicit cell Rate) field at predetermined regular intervals, to the end-node 22 via the same virtual connection 24 as used by the data cells. When this RM cell is received at the end-node 22, the DIR value of the received RM cell is changed to 1, and then the received RM cell is returned to the end-node 21 via the virtual connection 25.
When the switch 23 through which the virtual connection 24 for transferring the data cells is passing fell into the congestion state, the switch 23 is permitted to reduce the ER value of the RM cell transferred on the virtual connection 24 or 25 in order to indicate the congestion level at this switch 23, and/or to set up a CI (Congestion Indication) in the RM cell transferred on the virtual connection 25. Also, instead of reducing the ER value of the RM cell, the switch 23 which fell into the congestion state is permitted to set up an EFCI (Explicit Forward Congestion Indication) in the cell transferred on the virtual connection 24, so that the end-node 22 which received this cell can recognize the occurrence of the congestion and reduce the ER value of the RM cell there.
Then, the end-node 21 which received the RM cell returned at the end-node 22 reads out values in the CI field, the ER field, etc. of the RM cell, and changes the subsequent cell transmission rate according to these values.
In this manner, depending on a level of the congestion at the switch in the ATM network, the cell flow transmitted from the end-node 21 can be controlled, and as a result, it becomes possible to realize the recovery from the congestion according to this algorithm. Note that more than one switches may exist between the end-nodes 21 and 22.
Now, in the above described flow control algorithm, it is permitted for the ER value in the RM cell to be reduced by the end-node 22 or the switch 23 according to the congestion state. However, when the end-node 22 or the switch 23 increased the ER value in the RM cell by error due to malfunction, the ER field is going to have a value which is not reflecting the congestion state of the ATM network, and as a result, the end-node 21 determines the subsequent cell transmission rate on a basis of this erroneous ER value, so that there will be a possibility for the congestion to get worse.
In addition, the end-node 21 for transmitting cells is the only one which controls an amount of cells flowing into the network in response to the occurrence of the congestion in the ATM network, so that when the flow control algorithm execution unit within the end-node 21 fails to function normally, there will be no means for adjusting an amount of cells flowing into the network, and there will be a possibility for the switch in the ATM network to fall into a severe congestion, and a possibility for the quality of service of the other connections utilizing this same ATM network to get degraded.
Thus when the conventionally known flow control algorithm alone is applied, the information in the RM cell (the ER value in particular) may not be updated correctly due to an erroneous operation at the destination end-node or the switch, and an ability to recover from the congestion may be lowered due to an erroneous operation at the source end-node.